Данная ситуация свидетельствует, что или сервер действительно уже запущен,или предыдущая копия сервера некорректно завершилась и оставила за собой неосвобожденные сегменты разделяемой памяти.Также неосвобожденные ресурсы остаются при останнове сервера командой kill -9 xxx.Распределение разделяемой памяти можно посмотреть с помощью команды ipcs (в BSD/OS 2.0.x данной команды не существует, разделяемая память реализована через файлы в каталоге /tmp.Смотрите на файлы типа .shm.XXXXX,.sem.XXXXX).
Идентификаторы разделяемых ресурсов можно посмотреть в файле ldbf.pid в подкаталоге etc.
2348,345,346,1289 | | | | | | | |----------------> - идентифтикатор семафоров ldbfd. | | |--------------------> - сегмент разделяемой памяти | |-------------------------> - сегмент разделяемой памяти |------------------------------> - номер процесса ldbfdУничтожить эти оставшиеся ресурсы можно с помощью команды ipcrm (См. руководство по системе UNIX или manuals).В системе BSD/OS 2.0.x,файлы необходимо просто удалить.
Как правило проблема здесь заключается в правах доступа различных пользователей.
При запуске сервера создаются сегменты разделяемой памяти.Права доступа к ним
определяются следующим образом:
-если параметр group_allow установлен в
1,права доступа к разделяемым сегментам устанавливаются в 660,т. е.
только владелец и члены группы владельца имеют доступ к данным сегментам.
-если group_allow установлен в 0, права устанавливаются в 600,т.е.
только владелец имеет доступ к сегментам памяти.
Теперь предположим что сервер LDBF запущен прользователем root, а этот пользователь принадлежит к группе root. Права на сегменты памяти в случае group_allow=1 выглядят:
------ Shared Memory Segments -------- shmid owner perms bytes nattch status 0 root 660 5283 1 1 root 660 8400 1Права на сегменты памяти в случае group_allow=0 выглядят:
------ Shared Memory Segments -------- shmid owner perms bytes nattch status 0 root 600 5283 1 1 root 600 8400 1
Таким образом,для того чтобы ldbfmonitor или ldbfcgi получили доступ к сегментам памяти сервера,они должны быть запущены или только пользователем root в случае group_allow=0, или пользователем root и другим пользователем, входящим в группу root в случае group_allow=1.
По умолчанию,все программы используют псевдографические символы для
рисования рамок,линий и т.д.У Вас наваерное установлен шрифт, несовместимый
со стандартной таблицей символов(например КОИ-8).Пропишите в стартовые
файлы Ваших командных оболочек(shell) переменную LDBFTERM.
Вы также можете установить данную переменную сразу на всю систему.
Пропишите ее в файлах /etc/profile для оболочки /bin/sh:
LDBFTERM=color-pseudo
export LDBFTERM
и в /etc/cshrc или /etc/login или /etc/csh.login для
/bin/csh или /bin/tcsh:
setenv LDBFTERM color-pseudo
Данная ситуация свидетельствует о существовании лимита на количество открытых файлов для процесса.Необходимо обратится к системному администратору и обратить внимание на команды limit(ulimit)